package com.totcy.atom.presenter.contract;

import com.totcy.atom.bean.ImagesBean;
import com.totcy.baselibrary.base.mvpbase.BaseModel;
import com.totcy.baselibrary.base.mvpbase.BaseView;

import java.util.List;

/**
 * description: 获取网站图片 个人图片集合
 * author: Totcy
 * date: 2017/11/4 21:45
 * update: 2017/11/4
 */

public interface ImageGridContract {

    interface View extends BaseView {
        /**
         * 妹子图片图集 数据
         *
         * @param Images
         */
        void onImagesData(List<ImagesBean> Images);

        /**
         * 这里获取数据失败
         */
        void onDataFail();
    }

    interface Presenter {
        /**
         * Presenter 调用 model 获取数据
         *
         * @param url 链接
         */
        void getImagesData(String url);
    }

    interface Model extends BaseModel {
        interface DataCallback {
            /**
             * 数据获取成功  返回实体
             *
             * @param beans
             */
            void onDataSuccess(List<ImagesBean> beans);

            /**
             * 这里获取数据失败
             */
            void onDataNotAvailable();
        }

        /**
         * 从网络获取数据
         *
         * @param url      链接
         * @param callback 回调presenter数据
         */
        void getImagesData(String url, Model.DataCallback callback);

    }

}
